聊聊flink的Session Window 您所在的位置:网站首页 flink sessionwindow 聊聊flink的Session Window

聊聊flink的Session Window

#聊聊flink的Session Window| 来源: 网络整理| 查看: 265

本文主要研究一下flink的Session Window

MergingWindowAssigner

flink-streaming-java_2.11-1.7.0-sources.jar!/org/apache/flink/streaming/api/windowing/assigners/MergingWindowAssigner.java

@PublicEvolving public abstract class MergingWindowAssigner extends WindowAssigner { private static final long serialVersionUID = 1L; ​ /** * Determines which windows (if any) should be merged. * * @param windows The window candidates. * @param callback A callback that can be invoked to signal which windows should be merged. */ public abstract void mergeWindows(Collection windows, MergeCallback callback); ​ /** * Callback to be used in {@link #mergeWindows(Collection, MergeCallback)} for specifying which * windows should be merged. */ public interface MergeCallback { ​ /** * Specifies that the given windows should be merged into the result window. * * @param toBeMerged The list of windows that should be merged into one window. * @param mergeResult The resulting merged window. */ void merge(Collection toBeMerged, W mergeResult); } }MergingWindowAssigner继承了WindowAssigner,它自己定义了mergeWindows抽象方法,该方法有一个MergeCallback类型参数,MergeCallback接口定义了merge方法,传入merge前的windows及合并后的windowEventTimeSessionWindows

flink-streaming-java_2.11-1.7.0-sources.jar!/org/apache/flink/streaming/api/windowing/assigners/EventTimeSessionWindows.java

public class EventTimeSessionWindows extends MergingWindowAssigner { private static final long serialVersionUID = 1L; ​ protected long sessionTimeout; ​ protected EventTimeSessionWindows(long sessionTimeout) { if (sessionTimeout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有